package com.sinosoft.system.primary.biz.imp;

import java.util.List;

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.sinosoft.system.primary.biz.SysRoleMenuBiz;
import com.sinosoft.system.primary.dao.SysRoleMenuDao;
import com.sinosoft.system.primary.entity.SysRoleMenu;
import com.sinosoft.system.util.page.Pagenation;

@Service
@Transactional
public class SysRoleMenuBizImp implements SysRoleMenuBiz{

	private static Logger log = Logger.getLogger(SysRoleMenuBizImp.class);
	
	@Autowired
	private SysRoleMenuDao sysRoleMenuDao;
	
	@Override
	public int insertSysRoleMenu(SysRoleMenu sysRoleMenu) {
		log.info("新增SysRoleMenu数据"+sysRoleMenu.toString());
		return sysRoleMenuDao.insertSysRoleMenu(sysRoleMenu);
	}

	@Override
	public int updateSysRoleMenu(SysRoleMenu sysRoleMenu) {
		log.info("更新SysRoleMenu数据"+sysRoleMenu.toString());
		return sysRoleMenuDao.updateSysRoleMenu(sysRoleMenu);
	}

	@Override
	public int deleteSysRoleMenu(int id) {
		log.info("删除SysRoleMenu数据 id="+id);
		return sysRoleMenuDao.deleteSysRoleMenu(id);
	}

	@Override
	public SysRoleMenu selectSysRoleMenu(int id) {
		log.info("根据ID查询SysRoleMenu数据 id="+id);
		return sysRoleMenuDao.selectSysRoleMenu(id);
	}

	@Override
	public SysRoleMenu selectSysRoleMenu(List<String> queryKeys,List<Object> queryValues) {
		log.info("查询SysRoleMenu数据 ");
		return sysRoleMenuDao.selectSysRoleMenu(queryKeys, queryValues);
	}

	@Override
	public int selectCountSysRoleMenu() {
		log.info("查询SysRoleMenu数据 总数量");
		return sysRoleMenuDao.selectCountSysRoleMenu();
	}

	@Override
	public int selectCountSysRoleMenu(List<String> queryKeys,List<Object> queryValues) {
		log.info("查询SysRoleMenu数据 总数量"+queryKeys.toString());
		return sysRoleMenuDao.selectCountSysRoleMenu(queryKeys, queryValues);
	}

	@Override
	public List<SysRoleMenu> selectLimitSysRoleMenu(int start, int size) {
		log.info("查询SysRoleMenu数据 limit数量:start="+start+",size="+size);
		return sysRoleMenuDao.selectLimitSysRoleMenu(start, size);
	}

	@Override
	public List<SysRoleMenu> selectLimitSysRoleMenu(List<String> queryKeys,List<Object> queryValues,int start, int size) {
		log.info("条件查询SysRoleMenu数据数量");
		return sysRoleMenuDao.selectLimitSysRoleMenu(queryKeys, queryValues, start,  size);
	}

	@Override
	public List<SysRoleMenu> selectAllSysRoleMenu() {
		log.info("查询所有SysRoleMenu数据");
		return sysRoleMenuDao.selectAllSysRoleMenu();
	}

	@Override
	public List<SysRoleMenu> selectAllSysRoleMenu(List<String> queryKeys,List<Object> queryValues) {
		log.info("条件查询所有SysRoleMenu数据");
		return sysRoleMenuDao.selectAllSysRoleMenu(queryKeys, queryValues);
	}

	@Override
	public Pagenation selectPageSysRoleMenu(Pagenation page) {
		log.info("分页查询所有SysRoleMenu数据");
		int start =	page.getStartRow();
		int size = page.getPageSize();
		List<SysRoleMenu> rows = sysRoleMenuDao.selectLimitSysRoleMenu(page.getQueryKeys(), page.getQueryValues(),start,size);
		int total = sysRoleMenuDao.selectCountSysRoleMenu(page.getQueryKeys(), page.getQueryValues());
		page.setTotal(total);
		page.setRows(rows);
		return page;
	}

	public SysRoleMenuDao getSysRoleMenuDao() {
		return sysRoleMenuDao;
	}

	public void setSysRoleMenuDao(SysRoleMenuDao sysRoleMenuDao) {
		this.sysRoleMenuDao = sysRoleMenuDao;
	}

}
